import queue

q=queue.Queue()
q.put(1)  #类似于push
q.put(2)
q.put(3)


print(q.get()) #类似于pop

# 无法获取队首/队尾元素
# print(q[0])  # 错误！不支持索引访问


import collections

# 创建双向队列
dq = collections.deque() #关于deque反而是经常用的。

# 入队
dq.append(1)  # 队尾入队
dq.append(2)
dq.append(3)

print("队列内容:", list(dq))  # 输出: [1, 2, 3]

# 获取队首元素（不移除）
print("队首元素:", dq[0])     # 输出: 1
print("队尾元素:", dq[-1])    # 输出: 3

print("出队元素dq.pop:", dq.pop())  # 输出: 3


# 出队
print("出队元素dq.popleft:", dq.popleft())  # 输出: 1
print("剩余队列:", list(dq))      # 输出: [2, 3]



